package com.ruoyi.logistics.domain;

import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 物流信息对象 log_logistics
 *

 * @date 2023-07-23
 */
public class Logistics extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 物流信息ID */
    private Long id;

    /** 订单ID */
    @Excel(name = "订单ID")
    private Long orderId;

    /** 物流单号 */
    @Excel(name = "物流单号")
    private String logsNumber;

    /** 物流公司ID */
    @Excel(name = "物流公司ID")
    private Long companyId;

    /** 送件人ID */
    @Excel(name = "送件人ID")
    private Long postmanId;

    /** 物流状态(0:下单  1:已发货  2:已揽件  3:运输中  4:派送中  5:待取件  6:已签收) */
    @Excel(name = "物流状态(0:下单  1:已发货  2:已揽件  3:运输中  4:派送中  5:待取件  6:已签收)")
    private String status;

    /** 发货地址 */
    @Excel(name = "发货地址")
    private String shippingAddress;

    /** 收货地址 */
    @Excel(name = "收货地址")
    private String deliveryAddress;

    /** 详细收货地址 */
    @Excel(name = "详细收货地址")
    private String address;

    /** 发货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date deliveryTime;

    /** 预计到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "预计到达时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date estimatedTime;

    /** 实际到达时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "实际到达时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date actualTime;

    /** 物流详细信息信息 */
    private List<Info> infoList;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setOrderId(Long orderId)
    {
        this.orderId = orderId;
    }

    public Long getOrderId()
    {
        return orderId;
    }
    public void setLogsNumber(String logsNumber)
    {
        this.logsNumber = logsNumber;
    }

    public String getLogsNumber()
    {
        return logsNumber;
    }
    public void setCompanyId(Long companyId)
    {
        this.companyId = companyId;
    }

    public Long getCompanyId()
    {
        return companyId;
    }
    public void setPostmanId(Long postmanId)
    {
        this.postmanId = postmanId;
    }

    public Long getPostmanId()
    {
        return postmanId;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setShippingAddress(String shippingAddress)
    {
        this.shippingAddress = shippingAddress;
    }

    public String getShippingAddress()
    {
        return shippingAddress;
    }
    public void setDeliveryAddress(String deliveryAddress)
    {
        this.deliveryAddress = deliveryAddress;
    }

    public String getDeliveryAddress()
    {
        return deliveryAddress;
    }
    public void setAddress(String address)
    {
        this.address = address;
    }

    public String getAddress()
    {
        return address;
    }
    public void setDeliveryTime(Date deliveryTime)
    {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime()
    {
        return deliveryTime;
    }
    public void setEstimatedTime(Date estimatedTime)
    {
        this.estimatedTime = estimatedTime;
    }

    public Date getEstimatedTime()
    {
        return estimatedTime;
    }
    public void setActualTime(Date actualTime)
    {
        this.actualTime = actualTime;
    }

    public Date getActualTime()
    {
        return actualTime;
    }

    public List<Info> getInfoList()
    {
        return infoList;
    }

    public void setInfoList(List<Info> infoList)
    {
        this.infoList = infoList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("logsNumber", getLogsNumber())
            .append("companyId", getCompanyId())
            .append("postmanId", getPostmanId())
            .append("status", getStatus())
            .append("shippingAddress", getShippingAddress())
            .append("deliveryAddress", getDeliveryAddress())
            .append("address", getAddress())
            .append("deliveryTime", getDeliveryTime())
            .append("estimatedTime", getEstimatedTime())
            .append("actualTime", getActualTime())
            .append("infoList", getInfoList())
            .toString();
    }
}
